
#Title[ʏ4]
#Text[]
#Image[]
#BackGround[]
#BGM[]
#PlayLevel[Extra]
#ScriptVersion[2]
#Player[FREE]


script_enemy_main
{

	@Initialize
	{
	SetLife(4000);
	SetDamageRate(200,  100);
	SetTimer(60);
	SetInvincibility(250);
	SetEnemyMarker(true);
	SetGraphicRect(64,1,127,64);
	LoadGraphic("script\img\ExRumia.png");
	}
	//   ʒu܂ňړ
	SetMovePosition02(GetCenterX, GetCenterY-120, 60);

	AtackTaskA;
	AtackTaskB;
	AtackTaskC;
	MoveTask;
	@MainLoop
	{
		yield;

		SetGraphicRect(0,1,63,64);
		if(GetSpeedX<0){
			SetGraphicRect(128,1,191,64);
		}
		if(GetSpeedX>0){
			SetGraphicRect(192,1,255,64);
		}

		SetCollisionA(GetX, GetY, 32);
		SetCollisionB(GetX, GetY, 24);
	}
	
	@DrawLoop
	{
		SetColor(255,255,255);
		SetAlpha(255);
		SetTexture("script\img\ExRumia.png");//摜͔q
		DrawGraphic(GetX,GetY);
	}
		
	@Finalize
	{
		DeleteGraphic("script\img\ExRumia.png");
	}
	//XyJ[h̔wi
	//Ă悢
/*	@BackGround
	{
	}
*/
	task AtackTaskA{
		wait(120);
		let nway=48;
		let dir=180/nway;
		loop{
			loop(nway){
				CreateShot01(GetX,GetY,2,dir,BLUE11,20);
				dir+=360/nway;
			}
			wait(30);
		}
	}
	task AtackTaskB{
		wait(120);
		let ammo=4;
		let dira=0;
		loop{
			loop(ammo){
				let dirb=rand(0,360);
				let dis=rand(0,20);
				CreateShot01(cos(dirb)*dis+GetX,sin(dirb)*dis+GetY,2.5,dira+rand(-2,2),WHITE02,20);
				CreateShot01(cos(dirb)*dis+GetX,sin(dirb)*dis+GetY,2.5,dira+120+rand(-2,2),WHITE02,20);
				CreateShot01(cos(dirb)*dis+GetX,sin(dirb)*dis+GetY,2.5,dira-120+rand(-2,2),WHITE02,20);
			}
			wait(50);
			dira+=15;
		}
	}
	task AtackTaskC{
		wait(120);
		let nway=48;
		let dir=0;
		loop{
			dir=GetAngleToPlayer;
			loop(nway){
				CreateShot01(GetX,GetY,1.2,dir,BLUE02,20);
				dir+=360/nway;
			}
			wait(100);
		}
	}

	task MoveTask{		//@Ɉړp^[
		wait(240);
		while(true){
			let ptn=0;
			if(GetX<GetCenterX-80){ptn=1;}
			if(GetX>GetCenterX+80){ptn=2;}
			if(ptn==0){
				if(GetX<GetPlayerX){ptn=1;}
				else{ptn=2;}
			}
			if(ptn==1){
				SetMovePosition02(rand(GetX+40,GetX+60), rand(GetClipMinY+80,GetCenterY-80), 40);
			}
			if(ptn==2){
				SetMovePosition02(rand(GetX-40,GetX-60), rand(GetClipMinY+80,GetCenterY-80), 40);
			}
			wait(150);
		}
	}

	function wait(n){
		loop(n){yield;}
	}

}

